import axios from 'axios'

// 根据环境设置不同的baseURL
const isProduction = import.meta.env.MODE === 'production'
const baseURL = isProduction ? 'http://43.138.15.137:3000/api' : '/api'

const request = axios.create({
  baseURL,
  timeout: 10000,
  headers: {
    'Content-Type': 'application/json'
  },
  withCredentials: true, // 关键配置：允许携带 cookie
})

// 请求拦截器
request.interceptors.request.use(
  config => {
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

// 响应拦截器
request.interceptors.response.use(
  response => {
    return response.data
  },
  error => {
    // 在生产环境中，如果API请求失败，提供友好的错误处理
    if (isProduction && error.code === 'ERR_NETWORK') {
      console.error('网络请求失败，请检查网络连接或服务器状态')
    }
    return Promise.reject(error)
  }
)



export default request
